package com.example.hjlquickstartdemo.exception;


/**
 * 基本业务操作异常
 * @author HeJiaLe
 * @date 2023/07/17 16:16
 */


public class BusinessException extends AppException {
    private static final long serialVersionUID = 6304058622501786159L;
    /**
     * 空构造，错误码和消息需要set
     */
    public BusinessException() {
    }
    /**
     * 构造器需要业务码和异常对象
     * @param errorCode 业务码和消息枚举
     */
    public BusinessException(IErrorCode errorCode) {
        super(errorCode);
    }

    /**
     *  构造器
     * @param errorCode 业务码和消息枚举
     * @param extendMessage 扩展消息
     */
    public BusinessException(IErrorCode errorCode, String extendMessage) {
        super(errorCode,extendMessage);
    }
    /**
     * 构造器
     * @param code 错误码
     * @param message 消息
     */
    public BusinessException(String code, String message) {
        super(code, message);
    }

    /**
     *   构造器
     * @param code 错误码
     * @param message 消息
     * @param cause 异常对象
     */
    public BusinessException(String code, String message, Throwable cause) {
        super(code, message, cause);
    }

    /**
     * 构造器
     * @param errorCode 业务码和消息枚举
     * @param cause 异常对象
     */
    public BusinessException(IErrorCode errorCode, Throwable cause) {
        super(errorCode, cause);
    }

    /**
     * 构造器
     * @param errorCode 业务码和消息枚举
     * @param extendMessage 扩展消息 IErrorCode的标准消息无法表达全部信息
     * @param cause 异常对象
     */
    public BusinessException(IErrorCode errorCode, String extendMessage, Throwable cause) {
        super(errorCode,extendMessage, cause);
    }



}
